package com.pm.service;

import com.pm.entity.Project;

import java.util.List;

/**
 * 项目服务接口
 */
public interface ProjectService {
    
    /**
     * 创建项目
     * @param project 项目信息
     * @return 创建的项目
     */
    Project createProject(Project project);
    
    /**
     * 更新项目
     * @param project 项目信息
     * @return 更新的项目
     */
    Project updateProject(Project project);
    
    /**
     * 删除项目
     * @param id 项目ID
     * @return 删除结果
     */
    boolean deleteProject(String id);
    
    /**
     * 根据ID查找项目
     * @param id 项目ID
     * @return 项目信息
     */
    Project findById(String id);
    
    /**
     * 获取所有项目
     * @return 项目列表
     */
    List<Project> getAllProjects();
    
    /**
     * 根据管理员ID查找项目
     * @param managerId 管理员ID
     * @return 项目列表
     */
    List<Project> findByManagerId(String managerId);
    
    /**
     * 根据状态查找项目
     * @param status 项目状态
     * @return 项目列表
     */
    List<Project> findByStatus(String status);
    
    /**
     * 更新项目状态
     * @param id 项目ID
     * @param status 新状态
     * @return 更新结果
     */
    boolean updateProjectStatus(String id, String status);
}